﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Proyecto_e.Models;
using System.Drawing;
using System.IO;
using System.Drawing.Imaging;


namespace Proyecto_e.Controllers
{
    public class PreguntaController : Controller
    {         

        [HttpPost]
        public ActionResult NuevaPregunta()
        {
            return RedirectToAction("Create","Encuesta");
        }

         [HttpPost()]
        public ActionResult Create(Encuesta e)
        {
            if (this.Request.Form["Button2"] == null)
            {
                if (e != null)
                {
                    Encuesta EncuestaActual;
                    EncuestaActual = new Encuesta();
                    EncuestaActual = e;                   
                    Session["EncuestaActual"] = EncuestaActual;
                }
            }
            else
            {
                    Encuesta EncuestaActual;
                    EncuestaActual = new Encuesta();
                    EncuestaActual = e;                    
                    Session["EncuestaActual"] = EncuestaActual;
                return RedirectToAction("guardar", "Encuesta");              
            }

            return View();
        }

         [HttpPost()]
         public ActionResult CreatePreg(Encuesta e)
         {
             if (this.Request.Form["Button2"] == null)
             {
                 if (e != null)
                 {
                     Encuesta EncuestaActual;
                     EncuestaActual = new Encuesta();
                     EncuestaActual = e;
                     Session["EncuestaActual"] = EncuestaActual;
                 }
             }
             else
             {
                 Encuesta EncuestaActual;
                 EncuestaActual = new Encuesta();
                 EncuestaActual = e;
                 Session["EncuestaActual"] = EncuestaActual;
                 return RedirectToAction("actualizar", "Encuesta");
             }

             return View();
         }

        public ActionResult guardar(Pregunta P)
        {
            Pregunta p1;
            p1 = new Pregunta();
            p1 = P;
            List<Pregunta> preguntas;
            preguntas = new List<Pregunta>();
            preguntas = (List<Pregunta>) Session["Preguntas"];

            preguntas.Add(p1);
            Session["Preguntas"] = preguntas;
           
            return RedirectToAction("Create", "Encuesta");
        }


        public ActionResult editar(int id, string imagen, string titulo, string descripcion)
        {

            Encuesta EncuestaActual;
            EncuestaActual = new Encuesta();
            EncuestaActual.imagen = imagen;
            EncuestaActual.titulo = titulo;
            EncuestaActual.descripcion = descripcion;
            Session["EncuestaActual"] = EncuestaActual;
            Session["id"] = id; 
            List<Pregunta> preguntas;
            preguntas = new List<Pregunta>();
            preguntas = (List<Pregunta>)Session["Preguntas"];

            Pregunta p;
            p=new Pregunta();
            p = (Pregunta)preguntas[id - 1];

            ViewData["enunciado"] = p.enunciado;
            ViewData["id_tipo_pregunta"] = p.id_tipo_pregunta;
            ViewData["respuestas"] = p.get_respuestas_vector();
            return View();       
        }

        public ActionResult editar2(Pregunta P)
        {           
            List<Pregunta> preguntas;
            preguntas = new List<Pregunta>();
            preguntas = (List<Pregunta>)Session["Preguntas"];
            int id = (Int32) Session["id"];

            preguntas.RemoveAt(id-1);
            preguntas.Insert(id-1,P);
            Session["Preguntas"] = preguntas;

            return RedirectToAction("Create", "Encuesta");
        }

        public ActionResult eliminar(int id)
        {
            List<Pregunta> preguntas;
            preguntas = new List<Pregunta>();
            preguntas = (List<Pregunta>) Session["Preguntas"];
            preguntas.RemoveAt(id - 1);
            Session["Preguntas"] = preguntas;

            return RedirectToAction("Create", "Encuesta");
        }

        public ActionResult AdminCreate()
        {
            return View();
        }

        public ActionResult Admineditar(int id)
        {
            return View();
        }

        public byte[] ImageAArray(Image Imagen)
        {
            MemoryStream ms = new MemoryStream();
            Imagen.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
            return ms.ToArray();
        }

    }
}
